<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of produtos_marcas_model
 *
 * @author souzadavi
 */
class Produtos_model extends CI_Model {

    //put your code here

    public function __construct() {
        parent::__construct();
        $this->load->config('parametros');
    }

    public function get_codigo_referencia($_codigo_referencia, $_id = '') {
        $this->db->where('codigo_referencia', trim($_codigo_referencia));
        if ($_id != '') {
            $this->db->where('id !=', $_id);
        }
        $query = $this->db->get($this->config->item('dbCliente') . $this->config->item('tblProdutos'));
        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return NULL;
        }
    }

    public function consultar($_id) {
        $this->db->where('id', $_id);
        $query = $this->db->get($this->config->item('dbCliente') . $this->config->item('tblProdutos'));
        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return NULL;
        }
    }

    public function consultar_detalhado($_id, $_loja) {
        $this->db->select('p.id, pd.titulo, pe.quantidade, pe.valor_venda');

        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosDetalhes') . ' as pd', 'p.id = pd.produtos_id_prod', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblLocalIdiomas') . ' as li', 'li.id = pd.idiomas_id', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosEstoque') . ' as pe', 'p.id = pe.id_prod', 'INNER');

        $this->db->where('li.codigo', $this->config->item('language'));
        $this->db->where('p.id', $_id);
        $this->db->where('pe.produtos_loja_id', $_loja);

        $query = $this->db->get($this->config->item('dbCliente') . $this->config->item('tblProdutos') . ' as p');

        //pre($this->db->last_query());

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return NULL;
        }
    }

    public function consultar_total($_idioma) {
        //join cliente_db.ec_produtos_detalhes as pd on p.id = pd.produtos_id_prod and pd.idiomas_id = 2
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosDetalhes') . ' as pd', 'p.id = pd.produtos_id_prod and pd.idiomas_id = ' . $_idioma, 'INNER');
        $query = $this->db->get($this->config->item('dbCliente') . $this->config->item('tblProdutos') . ' as p');
        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return NULL;
        }
    }

    public function consultar_randomico($_categoria, $_produto = null) {
        $this->db->select('p.id, pd.titulo, pd.descricao, phi.imagens_id, pci.nome_cat, pci.categoria_id, p.max_parcelas, p.prazo_entrega, pc.pai_cat');

        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosDetalhes') . ' as pd', 'p.id = pd.produtos_id_prod', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosHasImagens') . ' as phi', 'p.id = phi.ec_produtos_id', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosCategoriaInfo') . ' as pci', 'pci.categoria_id = p.categoria_id', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblProdutosCategoria') . ' as pc', 'pc.id = p.categoria_id', 'INNER');
        $this->db->join($this->config->item('dbCliente') . $this->config->item('tblLocalIdiomas') . ' as li', 'li.id = pd.idiomas_id and pci.idiomas_id = li.id', 'INNER');

        $this->db->where('(pc.pai_cat = ' . $_categoria . ' or pc.id = ' . $_categoria . ')');
        //$this->db->or_where('pc.id', $_categoria);
        $this->db->where('li.codigo', $this->config->item('language'));
        $this->db->where('p.status', 1);
       

        $this->db->group_by("pci.categoria_id");

        if ($_produto == null) {
            $this->db->order_by("p.id", "DESC");
        } else {
            $this->db->order_by("p.id = " . $_produto, "DESC");
        }

        $this->db->order_by("rand()");

        $query = $this->db->get($this->config->item('dbCliente') . $this->config->item('tblProdutos') . ' as p');

        //pre($this->db->last_query());

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return null;
        }
    }

    public function cadastrar($_dados = array()) {
        $this->db->set($_dados);
        $this->db->insert($this->config->item('dbCliente') . $this->config->item('tblProdutos'));
        if ($this->db->affected_rows() > 0) {
            return $this->db->insert_id();
        } else {
            return NULL;
        }
    }

    public function alterar($_id, $_dados = array()) {
        $this->db->where('id', $_id);
        $this->db->set($_dados);
        $this->db->update($this->config->item('dbCliente') . $this->config->item('tblProdutos'));
        if ($this->db->affected_rows() > 0) {
            return $_id;
        } else {
            return NULL;
        }
    }

    public function excluir($_id) {
        $this->db->where('id', $_id);
        $this->db->delete($this->config->item('dbCliente') . $this->config->item('tblProdutos'));
        if ($this->db->affected_rows() > 0) {
            return TRUE;
        } else {
            return NULL;
        }
    }

}